﻿using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.IO;

using System.Collections.Generic;

namespace ConvertDotNetLIB
{
    public interface ISourceAdapter
    {
        UIElement Preview { get; }
        List<Classes.FileFormatMeta> SupportedFormatList { get; }
        bool Load();
        bool Load(byte[] sourceFile);
        byte[] Content { get; set; }
        bool Configure(string configurationProperty, string configurationValue);
        event EventHandler<PreviewChangedEventArgs> OnPreviewChanged;
        event EventHandler<ConversionStartedEventArgs> ConversionStarted;
        event EventHandler<ConversionFinishedEventArgs> ConversionFinished;
    }

    public interface ITargetAdapter
    {
        List<Classes.FileFormatMeta> SupportedFormatList { get; }
        bool Load();
        bool Load(byte[] sourceFile);
        byte[] Content { get; set; }
        bool Configure(string configurationProperty, string configurationValue);
        event EventHandler<ConversionStartedEventArgs> ConversionStarted;
        event EventHandler<ConversionFinishedEventArgs> ConversionFinished;
    }
}
